package UnitTest.AlgorithmTest.combineTest.sumofSubSequenceTest;

/* 测试案例
+ 1、最大子段和(连续)
  + LSS：LargestSumOfSubSequence
+ 2、最大间隔和
  + LSG：LargestSumOfGap
+ 3、最大子段乘积(连续)
  + LMS:LargestMultiOfSubSequence
+ 4、最大间隔乘积
  + LMG:LargestMultiOfGap
 */
public class LargestValueTestData {

    //测试用例
    public int[] demo01 = {};
    public long target01_lss = 0; // 最大子段和(连续) LSS：LargestSumOfSubSequence
    public long target01_lsg = 0; // 最大间隔和 LSG：LargestSumOfGap
    public long target01_lms = 0; // 最大子段乘积(连续) LMS:LargestMultiOfSubSequence
    public long target01_lmg = 0; // 最大间隔乘积 LMG:LargestMultiOfGap
    public int[] demo02 = null;
    public long target02_lss = 0;
    public long target02_lsg = 0;
    public long target02_lms = 0;  // 最大子段乘积(连续) LMS:LargestMultiOfSubSequence
    public long target02_lmg = 0;
    public int[] demo03 = {-1, -2, -3, 4, 5, 6, 7, 8, 9, -10, -11, -12};
    public long target03_lss = 39;
    public long target03_lsg = 21;        // 最大间隔和 LSG：LargestSumOfGap : 5,7,9
    public long target03_lms = 479001600; // 最大子段乘积(连续) LMS:LargestMultiOfSubSequence : -1, -2, -3, 4, 5, 6, 7, 8, 9, -10, -11, -12
    public long target03_lmg = 23040;
    public int[] demo04 = {27, -49, 1, 3, -6, -6, 1, 5, 1, 11, -19, -8, 3, 15};
    public long target04_lss = 27;        // 最大子段和(连续) LSS：LargestSumOfSubSequence : 27
    public long target04_lsg = 61;        // 最大间隔和 LSG：LargestSumOfGap : 27,3,5,11,15
    public long target04_lms = 149313780; // 最大子段乘积(连续) LMS:LargestMultiOfSubSequence
    public long target04_lmg = 1950906368;
    public int[] demo05 = {-1, -2, -3, -4};
    public long target05_lss = -1;
    public long target05_lsg = -1;  // 最大间隔和 LSG：LargestSumOfGap
    public long target05_lms = 24;
    public long target05_lmg = 8;
    public int[] demo06 = {-1, -2, 1, 2, 3, 4, 5, 6, -3, -4, 2, 2, 3, 4, 5, 6};
    public long target06_lss = 36;        // 最大子段和(连续) LSS：LargestSumOfSubSequence
    public long target06_lsg = 24;
    public long target06_lms = 24883200;  // 最大子段乘积(连续) LMS:LargestMultiOfSubSequence
    public long target06_lmg = 18432;
    public int[] demo07 = {-1, -2, 1, 2, 3, 4, 5, 6, -3, -4, -50, 2, 2, 3, 4, 5, 6};
    public long target07_lss = 22;
    public long target07_lsg = 24;        // 选择:2, 4, 6, 2, 4, 6
    public long target07_lms = 1244160000;
    public long target07_lmg = 230400;
    public int[] demo08 = {-8, -2, -3, -1, -4};
    public long target08_lss = -1;
    public long target08_lsg = -1;  // 最大间隔和 LSG：LargestSumOfGap, 选择：-1
    public long target08_lms = 48;  // 最大子段乘积(连续) LMS:LargestMultiOfSubSequence
    public long target08_lmg = 32;
    public int[] demo09 = {-8, -2, 1, -3, -1, -4};
    public long target09_lss = 1;
    public long target09_lsg = 1;    // 最大间隔和 LSG：LargestSumOfGap, 选择：1
    public long target09_lms = 48;   // 最大子段乘积(连续) LMS:LargestMultiOfSubSequence
    public long target09_lmg = 32;   // 选择: -8, -4

    public int[] demo10 = {5, 2, 6, 3, 1, 7};
    public long target10_lss = 24;   // 最大子段和(连续) LSS：LargestSumOfSubSequence
    public long target10_lsg = 18;   // 选择5，6，7,result = 18
    public long target10_lms = 1260;
    public long target10_lmg = 210;  // 最大间隔乘积 LMG:LargestMultiOfGap, 选择: 5, 6, 7
    public int[] demo11 = {1, 4, 8, 3, -2, -3, -9};
    public long target11_lss = 16;
    public long target11_lsg = 9;    // 最大间隔和 LSG：LargestSumOfGap
    public long target11_lms = 576;
    public long target11_lmg = 144;  // 选择: 8, -2, -9
    public int[] demo12 = {-9, 4, -3, -9, 2, 23, -5, -56};
    public long target12_lss = 25;
    public long target12_lsg = 27;        // 最大间隔和 LSG：LargestSumOfGap
    public long target12_lms = 1391040;   // 最大子段乘积(连续) LMS:LargestMultiOfSubSequence
    public long target12_lmg = 46368;     // 最大间隔乘积 LMG:LargestMultiOfGap, 选择:  4, -9, 23, -56
    public int[] demo13 = {9, 1, 19, 2, 29, 3, 4, 1, 49, 5, 7};
    public long target13_lss = 129;
    public long target13_lsg = 117;       // 最大间隔和 LSG：LargestSumOfGap, 选择: 9, 19, 29, 4, 49, 7
    public long target13_lms = 204112440; // 选择:
    public long target13_lmg = 6803748;
    public int[] demo14 = {-9, 1, 1, 5, 2, -9, 5, 6, 7};
    public long target14_lss = 18;
    public long target14_lsg = 18;
    public long target14_lms = 170100;  // 最大子段乘积(连续) LMS:LargestMultiOfSubSequence
    public long target14_lmg = 2835;
    public int[] demo15 = {5, -4, 3, 4, 9};
    public long target15_lss = 17;  // 最大子段和(连续) LSS：LargestSumOfSubSequence
    public long target15_lsg = 17;
    public long target15_lms = 108;
    public long target15_lmg = 135;
    public int[] demo16 = {5, 4, 3, 4, 9};
    public long target16_lss = 25;  // 选择 5, 4, 3, 4, 9
    public long target16_lsg = 17;  // 最大间隔和 LSG：LargestSumOfGap : 选择5,3,9
    public long target16_lms = 2160;
    public long target16_lmg = 135;
    public int[] demo17 = {5, -4, 3, -4, 9};
    public long target17_lss = 9;
    public long target17_lsg = 17;
    public long target17_lms = 2160; // 最大子段乘积(连续) LMS:LargestMultiOfSubSequence
    public long target17_lmg = 135;  // 最大间隔乘积 LMG:LargestMultiOfGap
    public int[] demo18 = {5, 1, -4, 3, -4, 9};
    public long target18_lss = 10;   // 最大子段和(连续) LSS：LargestSumOfSubSequence
    public long target18_lsg = 17;   // 最大间隔和 LSG：LargestSumOfGap
    public long target18_lms = 2160; // 选择 5, 1, -4, 3, -4, 9
    public long target18_lmg = 135;
    public int[] demo19 = {5, 1, -4, -3, -4, 9};
    public long target19_lss = 9;
    public long target19_lsg = 14;
    public long target19_lms = 108;  // 选择 -3, -4, 9
    public long target19_lmg = 80;

    public int[] demo20 = {-5, -4, 3, -4, 9};
    public long target20_lss = 9;
    public long target20_lsg = 12;    // 最大间隔和 LSG：LargestSumOfGap, 选择: 3, 9
    public long target20_lms = 432;  // 最大子段乘积(连续) LMS:LargestMultiOfSubSequence
    public long target20_lmg = 27;
    public int[] demo21 = {-5, -4, 3, -4, 9, 5, -4, 3, -4, 9};
    public long target21_lss = 18;
    public long target21_lsg = 24;      // 选择 3,9,3,9
    public long target21_lms = 933120;  // 最大子段乘积(连续) LMS:LargestMultiOfSubSequence
    public long target21_lmg = 4860;
    public int[] demo22 = {2, 7, 6, -5, 8, 7, 8};
    public long target22_lss = 33;
    public long target22_lsg = 24;    // 最大间隔和 LSG：LargestSumOfGap
    public long target22_lms = 448;
    public long target22_lmg = 768;
    public int[] demo23 = {4, -2, -7, -5, 8, -7, 1, -9};
    public long target23_lss = 8;  // 最大子段和(连续) LSS：LargestSumOfSubSequence
    public long target23_lsg = 13;
    public long target23_lms = 17640; // 最大子段乘积(连续) LMS:LargestMultiOfSubSequence
    public long target23_lmg = 2016;  // 最大间隔乘积 LMG:LargestMultiOfGap
    public int[] demo24 = {1, 2, 3, 4, -9, 3, 4, 6, 8};
    public long target24_lss = 22;
    public long target24_lsg = 18;
    public long target24_lms = 576;
    public long target24_lmg = 256;
    public int[] demo25 = {5, 2, 6, 3, 1, 7};
    public long target25_lss = 24;
    public long target25_lsg = 18;  // 最大间隔和 LSG：LargestSumOfGap
    public long target25_lms = 1260;
    public long target25_lmg = 210;
    public int[] demo26 = {5, 2, 6, 3, 1, -7};
    public long target26_lss = 17;
    public long target26_lsg = 12;   // 最大间隔和 LSG：LargestSumOfGap
    public long target26_lms = 180;  // 最大子段乘积(连续) LMS:LargestMultiOfSubSequence
    public long target26_lmg = 30;
    public int[] demo27 = {5, 2, -6, 3, 1, -7};
    public long target27_lss = 7;
    public long target27_lsg = 8;
    public long target27_lms = 1260;
    public long target27_lmg = 210;
    public int[] demo28 = {5, 2, -6, 3, 1, 7};
    public long target28_lss = 12;  // 最大子段和(连续) LSS：LargestSumOfSubSequence
    public long target28_lsg = 15;
    public long target28_lms = 21;   // 最大子段乘积(连续) LMS:LargestMultiOfSubSequence
    public long target28_lmg = 105;  // 最大间隔乘积 LMG:LargestMultiOfGap
    public int[] demo29 = {5, 2, -6, 0, 3, 1, 7};
    public long target29_lss = 12;
    public long target29_lsg = 15;
    public long target29_lms = 21;
    public long target29_lmg = 105;

    public int[] demo30 = {-5, 2, -6, 0, 3, 1, 7};
    public long target30_lss = 11;
    public long target30_lsg = 12;  // 最大间隔和 LSG：LargestSumOfGap
    public long target30_lms = 60;
    public long target30_lmg = 630;
    public int[] demo31 = {-5, 2, -6, 0, 3, 1, -7};
    public long target31_lss = 4;
    public long target31_lsg = 5;
    public long target31_lms = 60;  // 最大子段乘积(连续) LMS:LargestMultiOfSubSequence
    public long target31_lmg = 126;
    public int[] demo32 = {-5};
    public long target32_lss = -5;
    public long target32_lsg = -5;
    public long target32_lms = -5;
    public long target32_lmg = -5;  // 最大间隔乘积 LMG:LargestMultiOfGap
    public int[] demo33 = {-5, 2};
    public long target33_lss = 2;  // 最大子段和(连续) LSS：LargestSumOfSubSequence
    public long target33_lsg = 2;  // 最大间隔和 LSG：LargestSumOfGap
    public long target33_lms = 2;
    public long target33_lmg = 2;
    public int[] demo34 = {-5, 2, -6};
    public long target34_lss = 2;
    public long target34_lsg = 2;  // 最大间隔和 LSG：LargestSumOfGap
    public long target34_lms = 60; // 最大子段乘积(连续) LMS:LargestMultiOfSubSequence
    public long target34_lmg = 30;
    public int[] demo35 = {-5, -6, 2};
    public long target35_lss = 2;
    public long target35_lsg = 2;
    public long target35_lms = 60;
    public long target35_lmg = 2;
    public int[] demo36 = {-5, 2, -6, 0};
    public long target36_lss = 2;
    public long target36_lsg = 2;  // 最大间隔和 LSG：LargestSumOfGap
    public long target36_lms = 60;  // 最大子段乘积(连续) LMS:LargestMultiOfSubSequence
    public long target36_lmg = 30;
    public int[] demo37 = {-5, 2, -6, 0, 3};
    public long target37_lss = 3;
    public long target37_lsg = 5;
    public long target37_lms = 60;
    public long target37_lmg = 90;  // 最大间隔乘积 LMG:LargestMultiOfGap
    public int[] demo38 = {-5, 2, -6, 0, -3};
    public long target38_lss = 2;
    public long target38_lsg = 2;
    public long target38_lms = 60;  // 最大子段乘积(连续) LMS:LargestMultiOfSubSequence
    public long target38_lmg = 30;
    public int[] demo39 = {-5, 0, -6, 0, 3, 0, -7};
    public long target39_lss = 3;  // 最大子段和(连续) LSS：LargestSumOfSubSequence
    public long target39_lsg = 3;
    public long target39_lms = 3;
    public long target39_lmg = 126;

    public int[] demo40 = {-5, 0, -6, 0, -3, 0, -7};
    public long target40_lss = 0;
    public long target40_lsg = 0;  // 最大间隔和 LSG：LargestSumOfGap
    public long target40_lms = 0;  // 最大子段乘积(连续) LMS:LargestMultiOfSubSequence
    public long target40_lmg = 630;
    public int[] demo41 = {-5, 1, -6, 0, -3, 0, -7};
    public long target41_lss = 1;
    public long target41_lsg = 1;   // 最大间隔和 LSG：LargestSumOfGap
    public long target41_lms = 30;  // 最大子段乘积(连续) LMS:LargestMultiOfSubSequence
    public long target41_lmg = 630;
    public int[] demo42 = {-5, -1, -6, 0, -3, 0, -7};
    public long target42_lss = 0;   // 最大子段和(连续) LSS：LargestSumOfSubSequence
    public long target42_lsg = 0;  // 最大间隔和 LSG：LargestSumOfGap
    public long target42_lms = 6;
    public long target42_lmg = 630; // 最大间隔乘积 LMG:LargestMultiOfGap
}
